home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
...taking it to the Macs!
/
...taking it to the Macs!.iso
/
Extras
/
Internet Developer Demos
/
Bare Bones Software Goodies
/
BBEdit 4.0 Demo Folder
/
BBEdit Glossary
/
C Source
/
RoutineDescriptor
< prev
Wrap
Text File
|
1995-07-24
|
763b
|
31 lines
/*
* #select#
*/
// typedef MACPASCAL SInt32 (*#select#) (SInt16 pData);
enum {
upp#select#Info = kPascalStackBased
| RESULT_SIZE(SIZE_CODE(sizeof(SInt32)))
| STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(SInt16)))
};
#if USESROUTINEDESCRIPTORS
typedef UniversalProcPtr #select#UPP;
#define Call#select#(userRoutine, data) \
CallUniversalProc((UniversalProcPtr)(userRoutine), upp#select#Info,
(data))
#define New#select#(userRoutine) \
(#select#UPP) NewRoutineDescriptor((ProcPtr)(userRoutine), \
upp#select#Info, \
GetCurrentISA())
#else
typedef #select# #select#UPP;
#define Call#select#(userRoutine, data) \
(*(userRoutine))(data)
#define New#select#(userRoutine) \
(#select#UPP)(userRoutine)
#endif